<?php

namespace App\Console\Commands;

use App\Models\AdminUser;
use App\Models\Config;
use App\Models\Department;
use App\Services\SmsService;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;

class InsertDw extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'insert_ww';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = '插入单位数据';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        list($online, $offline) = $this->dws();
        foreach($online as $dwmc) {
            $dwdm = Department::generateDwdm();
            $id = DB::table('departments')->insertGetId([
                'dwdm' => $dwdm,
                'dwmc' => $dwmc,
                'type' => Department::TYPE_DJ,
                'file_type' => Department::FILE_TYPE_DJ_SHUZHI,
            ]);
            DB::table('departments')->where('id', $id)->update(['order' => $id]);
        }

        foreach($offline as $dwmc) {
            $dwdm = Department::generateDwdm();
            $id = DB::table('departments')->insertGetId([
                'dwdm' => $dwdm,
                'dwmc' => $dwmc,
                'type' => Department::TYPE_DJ,
                'file_type' => Department::FILE_TYPE_DJ_GZZJ,
            ]);
            DB::table('departments')->where('id', $id)->update(['order' => $id]);
        }
    }

    private function dws()
    {
        $online = [
            '少年班学院党总支',
            '数学科学学院党委',
            '物理学院党委',
            '化学与材料科学学院党委',
            '计算机科学与技术学院党委',
            '大数据学院党总支',
            '公共事务学院党委',
            '人文与社会科学学院党委',
            '马克思主义学院党总支',
            '环境科学与工程系党总支',
            '上海研究院党委',
            '国家同步辐射实验室党委（核科学技术学院党委）',
            '附属第一医院党委',
            '机关党委',
            '图书网络档案联合党总支',
            '基础教育集团党委',
            '饮食服务集团直属党支部'
        ];
        $offline = [
            '工程科学学院党委',
            '信息科学技术学院党委',
            '网络空间安全学院党总支',
            '微电子学院党总支',
            '软件学院党委',
            '地球和空间科学学院党委',
            '生命科学与医学部党委',
            '管理学院党委',
            '苏州高等研究院党委',
            '先进技术研究院党委',
            '人工智能研究院党委',
            '合肥微尺度物质科学国家研究中心党委',	
            '火灾科学国家重点实验室党委',
            '本科生院直属党支部',
            '离退休干部党委',
            '出版社党总支',
            '医院直属党支部',
            '资产经营有限责任公司直属党支部',
        ];
        return [$online, $offline];
    }
}
